
struct1.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <main>:
	short flag;
	dataset data[6];
}frame;

int main(void)
{
   0:	e92d4800 	push	{fp, lr}
   4:	e28db004 	add	fp, sp, #4
   8:	e24dd0e8 	sub	sp, sp, #232	; 0xe8
	int i, j, k;
	char *pcr;
	
	frame *pfr;
	
	printf("struct size %d\n", sizeof(pfr));
   c:	e3a01004 	mov	r1, #4
  10:	e59f0170 	ldr	r0, [pc, #368]	; 188 <main+0x188>
  14:	ebfffffe 	bl	0 <printf>
	
	for (i = 0; i < 100; i++) {
  18:	e3a03000 	mov	r3, #0
  1c:	e50b3008 	str	r3, [fp, #-8]
  20:	ea00000b 	b	54 <main+0x54>
		data[i] = i + 1;	// 赋值
  24:	e51b3008 	ldr	r3, [fp, #-8]
  28:	e20330ff 	and	r3, r3, #255	; 0xff
  2c:	e2833001 	add	r3, r3, #1
  30:	e20310ff 	and	r1, r3, #255	; 0xff
  34:	e24b20e8 	sub	r2, fp, #232	; 0xe8
  38:	e51b3008 	ldr	r3, [fp, #-8]
  3c:	e0823003 	add	r3, r2, r3
  40:	e1a02001 	mov	r2, r1
  44:	e5c32000 	strb	r2, [r3]
	
	frame *pfr;
	
	printf("struct size %d\n", sizeof(pfr));
	
	for (i = 0; i < 100; i++) {
  48:	e51b3008 	ldr	r3, [fp, #-8]
  4c:	e2833001 	add	r3, r3, #1
  50:	e50b3008 	str	r3, [fp, #-8]
  54:	e51b3008 	ldr	r3, [fp, #-8]
  58:	e3530063 	cmp	r3, #99	; 0x63
  5c:	dafffff0 	ble	24 <main+0x24>
		data[i] = i + 1;	// 赋值
	}
	
	k = 0;
  60:	e3a03000 	mov	r3, #0
  64:	e50b3010 	str	r3, [fp, #-16]
	for (i = 0; i < 6; i++) {
  68:	e3a03000 	mov	r3, #0
  6c:	e50b3008 	str	r3, [fp, #-8]
  70:	ea000027 	b	114 <main+0x114>
		for (j = 0; j < 16; j++) {
  74:	e3a03000 	mov	r3, #0
  78:	e50b300c 	str	r3, [fp, #-12]
  7c:	ea00001c 	b	f4 <main+0xf4>
			ft.data[i].data[j] = data[k];
  80:	e24b20e8 	sub	r2, fp, #232	; 0xe8
  84:	e51b3010 	ldr	r3, [fp, #-16]
  88:	e0823003 	add	r3, r2, r3
  8c:	e5d31000 	ldrb	r1, [r3]
  90:	e51b2008 	ldr	r2, [fp, #-8]
  94:	e1a03002 	mov	r3, r2
  98:	e1a03183 	lsl	r3, r3, #3
  9c:	e0833002 	add	r3, r3, r2
  a0:	e1a03083 	lsl	r3, r3, #1
  a4:	e24b2004 	sub	r2, fp, #4
  a8:	e0822003 	add	r2, r2, r3
  ac:	e51b300c 	ldr	r3, [fp, #-12]
  b0:	e0823003 	add	r3, r2, r3
  b4:	e2433080 	sub	r3, r3, #128	; 0x80
  b8:	e1a02001 	mov	r2, r1
  bc:	e5c32002 	strb	r2, [r3, #2]
			printf("%4d", data[k]);
  c0:	e24b20e8 	sub	r2, fp, #232	; 0xe8
  c4:	e51b3010 	ldr	r3, [fp, #-16]
  c8:	e0823003 	add	r3, r2, r3
  cc:	e5d33000 	ldrb	r3, [r3]
  d0:	e1a01003 	mov	r1, r3
  d4:	e59f00b0 	ldr	r0, [pc, #176]	; 18c <main+0x18c>
  d8:	ebfffffe 	bl	0 <printf>
			k++;
  dc:	e51b3010 	ldr	r3, [fp, #-16]
  e0:	e2833001 	add	r3, r3, #1
  e4:	e50b3010 	str	r3, [fp, #-16]
		data[i] = i + 1;	// 赋值
	}
	
	k = 0;
	for (i = 0; i < 6; i++) {
		for (j = 0; j < 16; j++) {
  e8:	e51b300c 	ldr	r3, [fp, #-12]
  ec:	e2833001 	add	r3, r3, #1
  f0:	e50b300c 	str	r3, [fp, #-12]
  f4:	e51b300c 	ldr	r3, [fp, #-12]
  f8:	e353000f 	cmp	r3, #15
  fc:	daffffdf 	ble	80 <main+0x80>
			ft.data[i].data[j] = data[k];
			printf("%4d", data[k]);
			k++;
		}
		printf("\n");
 100:	e3a0000a 	mov	r0, #10
 104:	ebfffffe 	bl	0 <putchar>
	for (i = 0; i < 100; i++) {
		data[i] = i + 1;	// 赋值
	}
	
	k = 0;
	for (i = 0; i < 6; i++) {
 108:	e51b3008 	ldr	r3, [fp, #-8]
 10c:	e2833001 	add	r3, r3, #1
 110:	e50b3008 	str	r3, [fp, #-8]
 114:	e51b3008 	ldr	r3, [fp, #-8]
 118:	e3530005 	cmp	r3, #5
 11c:	daffffd4 	ble	74 <main+0x74>
			k++;
		}
		printf("\n");
	}
	
	pcr = (char *)&ft;	// 指向结构首地址
 120:	e24b3084 	sub	r3, fp, #132	; 0x84
 124:	e50b3014 	str	r3, [fp, #-20]	; 0xffffffec
	ft.flag = 0x00;
 128:	e3a03000 	mov	r3, #0
 12c:	e14b38b4 	strh	r3, [fp, #-132]	; 0xffffff7c
	for (i = 0; i < 120; i++)
 130:	e3a03000 	mov	r3, #0
 134:	e50b3008 	str	r3, [fp, #-8]
 138:	ea000009 	b	164 <main+0x164>
		printf("%5d", *pcr++);	// 打印出乱数据是因为结构中还有另外两个成员.	2012/11/1
 13c:	e51b3014 	ldr	r3, [fp, #-20]	; 0xffffffec
 140:	e2832001 	add	r2, r3, #1
 144:	e50b2014 	str	r2, [fp, #-20]	; 0xffffffec
 148:	e5d33000 	ldrb	r3, [r3]
 14c:	e1a01003 	mov	r1, r3
 150:	e59f0038 	ldr	r0, [pc, #56]	; 190 <main+0x190>
 154:	ebfffffe 	bl	0 <printf>
		printf("\n");
	}
	
	pcr = (char *)&ft;	// 指向结构首地址
	ft.flag = 0x00;
	for (i = 0; i < 120; i++)
 158:	e51b3008 	ldr	r3, [fp, #-8]
 15c:	e2833001 	add	r3, r3, #1
 160:	e50b3008 	str	r3, [fp, #-8]
 164:	e51b3008 	ldr	r3, [fp, #-8]
 168:	e3530077 	cmp	r3, #119	; 0x77
 16c:	dafffff2 	ble	13c <main+0x13c>
		printf("%5d", *pcr++);	// 打印出乱数据是因为结构中还有另外两个成员.	2012/11/1
		
	//putchar(0xd);
	printf("\n");
 170:	e3a0000a 	mov	r0, #10
 174:	ebfffffe 	bl	0 <putchar>
		
	return 0;
 178:	e3a03000 	mov	r3, #0
}
 17c:	e1a00003 	mov	r0, r3
 180:	e24bd004 	sub	sp, fp, #4
 184:	e8bd8800 	pop	{fp, pc}
 188:	00000000 	.word	0x00000000
 18c:	00000010 	.word	0x00000010
 190:	00000014 	.word	0x00000014
